package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 crm_job
 * 
 * @author ruoyi
 * @date 2020-10-12
 */
public class CrmJob extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务id */
    private Long id;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long createUser;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long updateUser;

    /** 0 禁用 1启用 */
    @Excel(name = "0 禁用 1启用")
    private Integer status;

    /** 0 未删除  1 已删除 */
    @Excel(name = "0 未删除  1 已删除")
    private Integer isDelete;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String jobName;

    /** 任务关联地点坐标 */
    @Excel(name = "任务关联地点坐标")
    private String jobLalg;
    /** 任务关联地点坐标 */
    @Excel(name = "任务地址")
    private String jobAddress;
    /** 定位地址 */
    @Excel(name = "定位地址")
    private String jobLocationAddress;

    /** 任务开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "任务开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date jobStartTime;
    /** 任务提示时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "任务提示时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date jobStartTipsTime;

    /** 0 待办 1已完成 */
    @Excel(name = "0 待办 1已完成")
    private Integer jobStatus;

    /** 1 普通 2紧急 */
    @Excel(name = "1 普通 2紧急")
    private Integer jobType;

    /** 任务关联的用户（json字符串） */
    @Excel(name = "任务关联的用户", readConverterExp = "j=son字符串")
    private String jobCustomer;

    /** 任务描述  （） */
    @Excel(name = "任务描述  ", readConverterExp = "任务描述  （）")
    private String jobDetail;

    /** 任务记录 */
    @Excel(name = "任务记录")
    private String jobRemarks;

    /** 事件关联的 客户 */
    private List<CrmUser> customerList;

    /** $column.columnComment */
    @Excel(name = "街道")
    private String jobStreetCode;

    /** $column.columnComment */
    @Excel(name = "省")
    private String jobProvinceCode;

    /** $column.columnComment */
    @Excel(name = "市")
    private String jobCityCode;

    /** $column.columnComment */
    @Excel(name = "区")
    private String jobAreaCode;


    /** 设置提醒时间类型 */
    private Integer tipsTime;

    public String getJobLocationAddress() {
        return jobLocationAddress;
    }

    public void setJobLocationAddress(String jobLocationAddress) {
        this.jobLocationAddress = jobLocationAddress;
    }

    public String getJobStreetCode() {
        return jobStreetCode;
    }

    public void setJobStreetCode(String jobStreetCode) {
        this.jobStreetCode = jobStreetCode;
    }

    public String getJobProvinceCode() {
        return jobProvinceCode;
    }

    public void setJobProvinceCode(String jobProvinceCode) {
        this.jobProvinceCode = jobProvinceCode;
    }

    public String getJobCityCode() {
        return jobCityCode;
    }

    public void setJobCityCode(String jobCityCode) {
        this.jobCityCode = jobCityCode;
    }

    public String getJobAreaCode() {
        return jobAreaCode;
    }

    public void setJobAreaCode(String jobAreaCode) {
        this.jobAreaCode = jobAreaCode;
    }

    public Integer getTipsTime() {
        return tipsTime;
    }

    public void setTipsTime(Integer tipsTime) {
        this.tipsTime = tipsTime;
    }

    public List<CrmUser> getCustomerList() {
        return customerList;
    }

    public void setCustomerList(List<CrmUser> customerList) {
        this.customerList = customerList;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCreateUser(Long createUser) 
    {
        this.createUser = createUser;
    }

    public Long getCreateUser() 
    {
        return createUser;
    }

    public void setUpdateUser(Long updateUser) 
    {
        this.updateUser = updateUser;
    }

    public Long getUpdateUser() 
    {
        return updateUser;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setIsDelete(Integer isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() 
    {
        return isDelete;
    }
    public void setJobName(String jobName) 
    {
        this.jobName = jobName;
    }

    public String getJobName() 
    {
        return jobName;
    }
    public void setJobLalg(String jobLalg) 
    {
        this.jobLalg = jobLalg;
    }

    public String getJobLalg() 
    {
        return jobLalg;
    }
    public void setJobStartTime(Date jobStartTime) 
    {
        this.jobStartTime = jobStartTime;
    }

    public Date getJobStartTime() 
    {
        return jobStartTime;
    }
    public void setJobStartTipsTime(Date jobStartTipsTime) 
    {
        this.jobStartTipsTime = jobStartTipsTime;
    }

    public Date getJobStartTipsTime() 
    {
        return jobStartTipsTime;
    }
    public void setJobStatus(Integer jobStatus) 
    {
        this.jobStatus = jobStatus;
    }

    public Integer getJobStatus() 
    {
        return jobStatus;
    }
    public void setJobType(Integer jobType) 
    {
        this.jobType = jobType;
    }

    public Integer getJobType() 
    {
        return jobType;
    }
    public void setJobCustomer(String jobCustomer) 
    {
        this.jobCustomer = jobCustomer;
    }

    public String getJobCustomer() 
    {
        return jobCustomer;
    }
    public void setJobDetail(String jobDetail) 
    {
        this.jobDetail = jobDetail;
    }

    public String getJobDetail() 
    {
        return jobDetail;
    }
    public void setJobRemarks(String jobRemarks) 
    {
        this.jobRemarks = jobRemarks;
    }

    public String getJobRemarks() 
    {
        return jobRemarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createTime", getCreateTime())
                .append("createUser", getCreateUser())
                .append("updateTime", getUpdateTime())
                .append("updateUser", getUpdateUser())
                .append("status", getStatus())
                .append("isDelete", getIsDelete())
                .append("jobName", getJobName())
                .append("jobLocationAddress", getJobLocationAddress())
                .append("jobAddress", getJobAddress())
                .append("jobLalg", getJobLalg())
                .append("jobStartTime", getJobStartTime())
                .append("jobStartTipsTime", getJobStartTipsTime())
                .append("jobStatus", getJobStatus())
                .append("jobType", getJobType())
                .append("jobCustomer", getJobCustomer())
                .append("jobDetail", getJobDetail())
                .append("jobRemarks", getJobRemarks())
                .append("jobStreetCode", getJobStreetCode())
                .append("jobProvinceCode", getJobProvinceCode())
                .append("jobCityCode", getJobCityCode())
                .append("jobAreaCode", getJobAreaCode())
                .append("tipsTime", getTipsTime())
                .toString();
    }

    public String getJobAddress() {
        return jobAddress;
    }

    public void setJobAddress(String jobAddress) {
        this.jobAddress = jobAddress;
    }
}
